package controlador;

import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import dao.RemitoClienteDAO;
import dominio.RemitoCliente;
import dto.RemitoClienteTO;
import remoto.IGestionRemitosCliente;

public class GestionRemitosCliente extends UnicastRemoteObject implements IGestionRemitosCliente, Serializable {
	private static final long serialVersionUID = 1L;

	public GestionRemitosCliente() throws RemoteException {
		super();
	}

	@Override
	public int guardarRemitoCliente(RemitoClienteTO remitoCliente) throws RemoteException {
		return RemitoClienteDAO.getInstance().guardarRemitoCliente(RemitoCliente.fromDTO(remitoCliente));
	}

	@Override
	public RemitoClienteTO buscarRemitoCliente(int id) throws RemoteException {
		RemitoCliente rp = RemitoClienteDAO.getInstance().buscarRemitoCliente(id);
		if (rp != null)
			return rp.getDTO();
		return null;
	}

	@Override
	public List<RemitoClienteTO> listarRemitosPendientes() {
		List<RemitoClienteTO> lista = new ArrayList<RemitoClienteTO>();
		List<RemitoCliente> remitos = RemitoClienteDAO.getInstance().listarRemitosPendientes();
		for (RemitoCliente r : remitos)
			lista.add(r.getDTO());
		return lista;
	}
}